import { ALL_CATEGORY_ITEM, CATEGORY_NOMAR_DATA } from "@/constants";
import { getCategory } from "@/api/category";

// 处理navigationBar 中的数据 categorys

export default {
  //独立作用域
  namespaced: true,
  state: () => {
    return {
       //1.让category- 具备一个初始化数据
       //2.从服务端获取数据,替换初始化数据
       //3.更新初始化数据
       //第三步方案:每次从接口得到的数据需要进行缓存 (localstorage)
      categorys: CATEGORY_NOMAR_DATA
     
    };
  },
  mutations: {
    // 为categorys赋值的唯一方式
    setCategorys(state, newCategorys) {
      state.categorys = [ALL_CATEGORY_ITEM, ...newCategorys];
    }
  },
  actions: {
    // 获取category数据并自动保存到vuex中
    async useCategoryData(context) {
      const { categorys } = await getCategory();
      context.commit("setCategorys", categorys);
    }
  }
};
